package pro.cherish.knowledgedemoasync;


/**
 * @author 创建人：cherish
 * @version 版本号：V1.0
 * <p>
 * ***************************修订记录************************************
 * 2019-10-27 cherish 创建该类功能。
 * **********************************************************************
 * </p>
 * @ClassName 类名：T2
 * @Description 功能说明：
 * <p>
 * TODO
 * </p>
 * **********************************************************************
 * @date 创建日期： 2019-10-27 cherish
 */

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import pro.cherish.knowledgedemoasync.t1.Child;
import pro.cherish.knowledgedemoasync.t1.Child2;

/**

 */
@SpringBootTest
@Slf4j
public class T2 {
    @Autowired
    private Child child;
    @Autowired
    private Child2 child2;
    /**
     * 调用Child同步方法，在Child同步方法中调用A异步方法，这个异步是失效的
     *
     * @throws InterruptedException
     */
    @Test
    public void doSomething() throws InterruptedException {
        child.getUp();
        Thread.sleep(10000);
        log.info("主程序结束");
    }


    /**
     *  由doSomething 的例子上改造，在真个Child2上加上@Async 都还是异步失效
     * @throws InterruptedException
     */
    @Test
    public void doSomething2() throws InterruptedException {
        child2.getUp();
        Thread.sleep(10000);
        log.info("主程序结束");
    }



}
